Перевантаження операцій

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
УІ
Кафедра:
Кафедра інформаційних систем та мереж

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
СП
Група:
СА

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет “Львівська політехніка” Кафедра інформаційних систем та мереж Лабораторна робота №4 Перевантаження операцій. Мета полягає у вивченні способів перевантаження операцій С++ та їх використання для роботи з об’єктами. 16.Створити клас дійсних чисел ( у закритій частині класу знаходиться значення дійсного типу). Визначити необхідні конструктори, деструктор. Перевантажити операції: + додавання, - віднімання, * множення, / ділення, () дробова частина числа, [] ціла частина числа. Визначити потокові операції введення-виведення. Текст програми: #include <iostream> #include <math.h> using namespace std; class DDigit{ private: double value; public: DDigit() { value = 0; } ~DDigit() { value = 0; } DDigit(double _value) { value = _value; } DDigit operator+(const DDigit&); DDigit operator-(const DDigit&); DDigit operator*(const DDigit&); DDigit operator/(const DDigit&); long operator()(void); double operator[](int); friend istream& operator>>(istream&, DDigit&); friend ostream& operator<<(ostream&, DDigit&); }; DDigit DDigit::operator+(const DDigit& b) { return DDigit(value + b.value); } DDigit DDigit::operator-(const DDigit& b) { return DDigit(value - b.value); } DDigit DDigit::operator*(const DDigit& b) { return DDigit(value * b.value); } DDigit DDigit::operator/(const DDigit& b) { return DDigit(value / b.value); } long DDigit::operator()(void){ return floorl(value); } double DDigit::operator[](int n){ double p = pow(10,n); return floor((value - floor(value))*p)/p; } istream& operator>>(istream& stream, DDigit& p){ cout<<"Enter value: "; stream>>p.value; return stream; } ostream& operator<<(ostream& stream, DDigit& p){ stream<<"Value: "<<p.value; return stream; } void main(){ DDigit d1,d2(2.5); cout<<"Enter D1\n"; cin>>d1; cout<<"D1: "<<d1<<"\tD2: "<<d2<<endl; cout<<"D1 + D2 = "<<d1 + d2<<endl; cout<<"D1 - D2 = "<<d1 - d2<<endl; cout<<"D1 * D2 = "<<d1 * d2<<endl; cout<<"D1 / D2 = "<<d1 / d2<<endl; cout<<"D2() = "<<d2()<<endl; cout<<"D2[3] = "<<d1[3]<<endl; system("pause"); } Результат виконання: / Висновок: на даній лабораторній роботі я вивчив способи перевантаження операцій С++ та їх використання для роботи з об’єктами.
Антиботан аватар за замовчуванням

05.12.2015 11:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини